JS中数组去重的方法都有哪些?

标签:2024-05-19 12:19:24

1、使用 Set 去重(ES6 中最常用)

利用Set的唯一性特性,将数组转换为Set,然后转回数组。

也可以使用Set和Array.from():先使用Set去除重复,再通过Array.from()将Set转回数组。

2、使用 indexOf()

indexOf查找一个字符串中,第一次出现指定字符串的位置。

indexOf方法返回一个整数值,指出 string对象内子字符串的开始位置。如果没有找到该字符串则返回-1。

3、使用includes()方法

遍历原数组,检查每个元素是否已存在于新数组中,若未存在则加入。

该方法会找到某一数组是否包含某元素 返回一个布尔值,它也可以用来查询字符串中是否包含某一个元素 返回的也是一个布尔值。

4、使用双重for循环

通过两层循环比较,使用splice删除重复的元素。

5、使用单重for循环

遍历原数组,检查每个元素是否已存在于新数组中,若未存在则加入。

6、使用filter()方法

通过filter()方法过滤出数组中唯一的元素。

7、使用reduce()方法

通过reduce()方法遍历数组,将不重复的元素累加到新数组中。

reduce()方法不仅仅用于数组求和,还可以满足增删查改、去重、平铺数组等需求,当reduce()方法解决每层数组的迭代拼接时,就会起到去重的作用。

8、使用Map对象

创建一个空 Map 数据结构,遍历需要去重的数组,把数组的每一个元素作为 key 存到 Map 中。由于 Map 中不会出现相同的 key 值,所以最终得到的就是去重后的结果。通过Map的has()和get()方法判断键是否重复。

原文出处:http://www.dongblog.com/notes/95.html
来源:博客网 转载请注明出处!

活跃用户

画风不符
Ta还没有签名
*.梦之城,焱灵残雪
Ta还没有签名
晨曦
Ta还没有签名
rzqs
Ta还没有签名

友情链接


Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093

Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093